import {ID} from '@/api/http';
import OrderTree from '@/structure/orderTree';
import {TreeData} from 'element-ui/types/tree';

/**
 * 菜单
 */
export default class Menu extends OrderTree<Menu> implements TreeData {
  /**
   * 菜单ID
   */
  public menuId?: ID;
  /**
   * 上级ID
   */
  public parentId?: ID;
  /**
   * 菜单key
   */
  public menuKey: string = '';
  /**
   * 显示名称
   */
  public displayName: string = '';
  /**
   * 菜单域
   */
  public domain: string = '';
  /**
   * 模块名
   */
  public module: string = '';
  /**
   * url路径
   */
  public path: string = '';
  /**
   * 激活菜单Key
   */
  public activeKey?: string;
  /**
   * 组件路径
   */
  public componentPath: string = 'Root';
  /**
   * 图标url
   */
  public icon?: string;
  /**
   * 图标类名
   */
  public iconCls?: string;
  /**
   * 隐藏标志
   */
  public hidden: boolean = false;
  /**
   * 叶节点标志
   */
  public leaf: boolean = false;
  /**
   * 重定向
   */
  public redirect: boolean = false;
  /**
   * 扩展级别
   */
  public extLevel: number = 0;
}
